home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
system
/
almdn102.zip
/
ALARM.DOC
< prev
next >
Wrap
Text File
|
1995-01-26
|
38KB
|
917 lines
┌────────────────────────┐
│ Alarm v1.02 │
│ │
│ Written by Dale Nurden │
└────────────────────────┘
The FREEWARE alarm clock for DOS
Copyright (c) 1994-95 by Dale Nurden
All rights reserved. See distribution notice for details.
________________________________________________________________________________
CONTENTS ▄
▀▀▀▀▀▀▀▀▀
1. LEGAL STUFF
1. Distribution
2. Disclaimer
2. ABOUT THE PROGRAM
1. Terminology
3. INSTALLATION
1. Installing the Program Files
2. Changing your AUTOEXEC.BAT File
4. ALARMTSR
1. Command Line Options
2. Features and Functions
3. Popup clock/status display
4. Tiny mode
5. Configuration
6. Error messages
7. TSR conflicts
5. ALARM
1. Command Line Options
2. Features and Functions
3. Using the Editor
4. Configuration
6. TECHNICAL INFORMATION
1. Third party software
2. Communicating with AlarmTSR
3. The Alarm Data File : ALARM.ALM
4. Alarm Configuration File : ALARM.CFG
5. AlarmTSR Configuration File : ALARMTSR.CFG
7. PROGRAM LIMITATIONS
8. SYSTEM REQUIREMENTS
9. ACKNOWLEDGEMENTS
10. CONTACTING THE AUTHOR
________________________________________________________________________________
[1] LEGAL STUFF ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[1.1] DISTRIBUTION
~~~~~~~~~~~~
This package is FREEWARE. You are free to distribute it as much as you
like, subject to the following conditions:
■ No fee is charged for its distribution or use, except to cover media and
copying costs.
■ All the files listed in FILES.LST are included in the distribution
package, in their original, unmodified form.
This package may be bundled together with other Freeware or Shareware
packages, subject to the same conditions above. Throughout this document,
the term "the package" refers to all the files listed in FILES.LST, in
either their expanded (normal) state or compressed in an archive created by
such software as ARJ and PkZip.
Please note that while this package is Freeware, I retain the copyright on
all the work in this package, with the exception of those parts of the code
which I have taken from sources other than my own (see Chapter xxx,
Acknowledgements). It is necessary to mention this since at the time of
release it was not possible to recompile the main program (ALARM.EXE) to
reflect the updated copyright message.
[1.2] DISCLAIMER
~~~~~~~~~~
The possession and use of any of the programs and files in this package is
entirely at your own risk. Although every effort has been made to prevent
it, the author will not be held responsible or liable for any loss or
damage of any nature resulting from the possession or use of this package.
As of this writing, no ill-effects have been experienced or reported but,
unfortunately, there is always the chance that some strange and obscure
combination of hardware and software could cause problems.
See Chapter 4.7 for more information on TSR conflicts. Please report any
problems you may encounter to the author. See Chapter 10 for information on
contacting the author.
________________________________________________________________________________
[2] ABOUT THE PROGRAM ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This is an updated version of the first release of ALARM, the DOS based
Alarm Clock. The update introduces a slightly redesigned AlarmTSR module
which now displays the day of the week on the popup clock. It also removes
the CPU detection routine, which was faulty. The main program (ALARM.EXE)
has not been changed from Version 1.0; only AlarmTSR and the appropriate
documentation has been updated.
ALARM makes use of your computer's real-time clock to maintain up to 100
separate alarms, and to sound them at the appropriate times with accuracy
down to one minute. Each alarm can be set individually with its own
message, which will be displayed along with a reminder beep from the
computer's built-in speaker. A built-in popup clock provides a convenient
time-piece which is available at your fingertips with a single keystroke.
ALARM consists of two parts, an Alarm Editor to set, change and delete
alarms as is necessary, and a memory resident module called AlarmTSR which
takes care of sounding your alarms at the appropriate times. This memory
resident module (also known as a TSR, or Terminate-and-Stay-Resident
program) must be loaded into memory for ALARM to work correctly, and also
for the popup clock to be available.
[2.1] TERMINOLOGY
~~~~~~~~~~~
Alarm - This refers to the Alarm Editor, the file in this package with
the name ALARM.EXE.
AlarmTSR - This refers to the memory resident module (TSR) called AlarmTSR,
the file in this package with the name ALARMTSR.EXE.
ALARM - The program as a whole, encompassing both Alarm (ALARM.EXE) and
AlarmTSR (ALARMTSR.EXE).
TSR - Terminate-and-Stay-Resident program. A program which, when run,
stays active in memory even after it appears to have finished.
AlarmTSR is such a program.
________________________________________________________________________________
[3] INSTALLATION ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[3.1] INSTALLING THE PROGRAM FILES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The first thing you will need to do is determine which directory will be
used for the program files. Both Alarm and AlarmTSR will expect to find all
the relevant files in the same directory in which they reside, so it is
important that all the program files are in the same directory. Which
directory you use is irrelevant, as long as ALL the files are in it.
Although it is not necessary, it is usually most convenient to create a
separate directory for ALARM. In this documentation, it will be assumed
that the directory to be used is called ALARM\ and is situated off the root
directory of the C: drive. If you decide to use a different drive or
directory, substitute the appropriate changes in the examples given.
If the directory does not already exist, you will need to create it. The
command to create our example directory would be:
MKDIR C:\ALARM
This is what will be referred to as the "Program Directory".
The final installation step is to copy the relevant files into this
directory. You could simply extract the entire distribution archive into
this directory, or you can copy the necessary files directly, using the DOS
'COPY' command. The file 'FILES.LST' lists all the files which should have
been included in the distribution package. (If any are missing, notify the
administrator of the source from which you obtained the package, and make
sure you erase this package and fetch the proper package from a more
reliable source.) Those files in FILES.LST which are marked with an
asterisk are the ones which are essential for ALARM to work properly. They
must be placed in the program directory. The others are documentation and
support files, which may be stored elsewhere or erased on the condition
that they are included if you ever redistribute ALARM to anyone else. In
any case, you should make sure that you always have access to these files
somehow in case you ever need to read them.
That's all there is to it. There are no environment variables that need
setting, and you don't need to put this directory into your system path.
All the program files are able to find the files they require as long as
they are all in this directory. ALARM is now ready to be used.
There is one more step, which is discussed in the next section. That is to
update your computer's startup files to make sure your computer is always
ready to run ALARM every time you switch it on.
[3.2] UPDATING YOUR AUTOEXEC.BAT FILE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to use ALARM properly, AlarmTSR (the memory resident module) must
always be loaded into memory. It is usually most convenient to have it
loaded automatically for you whenever you start or reboot your computer.
This can be done simply by adding a line to your AUTOEXEC.BAT file, which
is a DOS batch file which runs automatically every time you restart your
computer. The line to be added is:
C:\ALARM\ALARMTSR
(This assumes that you have chosen our example directory to be your program
directory. See Chapter 3.1, above.)
If your computer is capable of loading programs in the upper memory area,
you can use the following line instead:
LOADHIGH C:\ALARM\ALARMTSR
You will need at least 3k of memory free in the upper memory area in order
to load the TSR, of which 2.5k will be used, with the remainder being
released after loading. It is possible to load AlarmTSR in "Tiny" mode by
using the 'T' option on the command line. See Chapters 4.1 and 4.4 for more
information.
It is also possible to have the alarm data file automatically updated for
you at the same time that AlarmTSR is loaded. This is useful since it saves
you from having to remember to update the file every few days, a task which
is necessary if not done automatically. See Chapter 5 for more information.
Adding the following line to your AUTOEXEC.BAT file will do just this:
C:\ALARM\ALARM /U
Both of these changes can be made automatically for you using the
ALARMBAT.BAT batch file which is included in the package. This program will
first save a backup copy of your AUTOEXEC.BAT file, then add the above two
lines. ALARMBAT.BAT always assumes that your AUTOEXEC.BAT file is in the
root directory of C:, so if it is not, you will have to make the changes
yourself. Also, ALARMBAT.BAT does not insert the "LOADHIGH" version of the
first change, so if you want AlarmTSR to make use of your upper memory
area, you will need to make that change yourself.
Remember that it is preferable, though not necessary, to update the alarm
data file BEFORE loading AlarmTSR. ALARMBAT.BAT makes the changes in the
correct order, but if you choose to make the changes yourself, you should
also observe this point.
________________________________________________________________________________
[4] ALARMTSR ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀
AlarmTSR is the memory resident module (TSR) which works in conjunction
with Alarm to sound your alarms at appropriate times. To overly simplify
matters, AlarmTSR sits in memory and quietly waits for the appropriate time
before sounding an alarm. AlarmTSR MUST be installed in memory for ALARM to
function correctly. See Chapter 3 for details on simplifying the
installation process.
AlarmTSR will only load once, so if it is already installed in memory and
you try to reload it, it will fail with a warning message.
[4.1] COMMAND LINE OPTIONS
~~~~~~~~~~~~~~~~~~~~
There is only one option which may be specified on the command line. The
'T' option instructs AlarmTSR to install in Tiny mode. If you do not
specify this option, AlarmTSR will install in normal mode. See Chapter 4.4
for details on Tiny mode.
The command syntax is: ALARMTSR [T]
[4.2] FEATURES AND FUNCTIONS
~~~~~~~~~~~~~~~~~~~~~~
AlarmTSR periodically checks the alarm data file (see Chapter 6.3) for
information about the alarms you have set. It searches through the data
file for the first alarm which has not already passed (that is, its time
and date is before the current time and date on your computer's clock) and
then stores it in memory. In fact, this search is only performed when an
alarm is sounded (to load the next alarm), or when AlarmTSR is specifically
instructed to do so, either by your using Alarm and the 'R' option, or when
you exit Alarm (the alarm editor).
AlarmTSR also periodically checks whether the current alarm matches the
current time on the computer's real time clock, and then sounds the alarm
if they do match.
The final two features, the popup clock/status display and AlarmTSR's Tiny
mode, are discussed in Chapters 4.3 and 4.4.
[4.3] POPUP CLOCK/STATUS DISPLAY
~~~~~~~~~~~~~~~~~~~~~~~~~~
Apart from checking for and sounding alarms, AlarmTSR also features a
built-in popup clock/status display which is hotkey activated, the default
hotkey being Ctrl-T. This display appears when the hotkey is pressed and
held down, and disappears when it is released.
The clock part (on the left of the display) shows the current time and date
according to your computer's real time clock, with the display formats
depending on how you have configured AlarmTSR (see Chapter 4.5). The clock
is automatically updated while it is on the display.
The "alarm" part (on the right of the display) indicates the date and time
at which the next alarm will be sounded. In addition, if it due to be
sounded on the same day, an asterisk will appear after the date. Again, the
display formats depend on how you have configured AlarmTSR. If there are no
further alarms set, then the time and date will be filled with dashes.
If the "alarm" part is missing from the clock/status display, then you will
know that AlarmTSR was loaded in Tiny mode.
The clock/status display appears as follows:
▌ 12:26:04p Sun, 13 Feb 1994 ▐ Alarm: 4:15p 13/02/1994 * │
│ │ │ │ │ │ │
1 2 3 4 5 6 7
1. Current time, indicating hour, minute and seconds, as read from the
computer's real time clock. This may be in 12-hour or 24-hour format,
but defaults to 12-hour format if not configured.
2. AM/PM indicator. This does not appear in 24-hour format.
3. Current date, indicating day, month, year and day of week.
4. Time of the next alarm to be sounded, indicating hour and minute only.
AlarmTSR does not allow seconds accuracy partly because this is seldom
required, but mainly because an alarm may be delayed a few seconds if
the computer is busy.
5. AM/PM indicator. This does not appear in 24-hour format.
6. Date of the next alarm, indicating day, month and year.
7. Indicates that the current alarm will be sounded today.
[4.4] TINY MODE
~~~~~~~~~
This is a special mode for AlarmTSR which reduces its memory requirements
as well as its functionality. In Tiny mode, AlarmTSR still provides the
hotkey activated popup clock, but none of the alarm functions are
available. This is intended for users who would like to keep the clock, but
have no need for alarms.
AlarmTSR takes up 40% less memory in Tiny mode. The same amount of memory
is required to load AlarmTSR, but only about 1.7k is retained, as opposed
to the 2.8k that normal mode requires.
To load AlarmTSR in Tiny mode, the 'T' option must be used on the command
line during installation. See Chapter 4.1.
[4.5] CONFIGURATION
~~~~~~~~~~~~~
AlarmTSR reads its configuration file (ALARMTSR.CFG - See Chapter 6.5) once
when AlarmTSR is installed, if the file exists in the program directory.
This configuration file contains information about how AlarmTSR should
operate, including time and date display formats and display colours and is
created and updated by Alarm. AlarmTSR is actually configured from inside
Alarm (the alarm editor) from the Configuration menu (Alt-C).
If the configuration file does not exist in the program directory, AlarmTSR
will assume default settings. If, at any time, you wish to restore these
default settings, simply delete the appropriate configuration file.
Note: ALARMTSR.CFG also contains information about the hotkeys used by
AlarmTSR, but this is not yet supported by Alarm's configuration.
(This is likely to be included in future releases.) It is possible to
change the hotkeys used if you manually edit the configuration file,
but you should not attempt this unless you have some degree of
experience in such matters. See Chapter 6.5 for more information.
[4.6] ERROR MESSAGES
~~~~~~~~~~~~~~
There are two error messages which AlarmTSR will display under certain
conditions:
"Unable to open alarm data file."
This means that the alarm data file (ALARM.ALM) is not in the
program directory. It should never be deleted or moved to another
directory, even if no alarms have been set, since AlarmTSR
periodically checks it for new alarms.
"Alarm data file is corrupt."
This means that the alarm data file (ALARM.ALM) does exist, but the
information contained in it is not in the format AlarmTSR is
expecting, which means that it has become corrupted somehow. The
only way to correct this problem is to delete the file and then run
Alarm to create a new file. In doing so you will lose any alarms you
have set, but this is unfortunately unavoidable. If this error
occurs, you should investigate it further because it could be
indicative of a hardware failure.
[4.7] TSR CONFLICTS
~~~~~~~~~~~~~
The unfortunate fact about memory resident (TSR) programs is that sometimes
two or more may conflict because of the way they operate. AlarmTSR has been
tested with a few other TSR programs in various conditions, and has been
successfully used on the author's own computer without complications. While
no conflicts were found through this testing, this can unfortunately not
guarantee that conflicts will not occur with other hardware and software
configurations. If you experience difficulties with AlarmTSR or any other
TSR program while using Alarm or AlarmTSR, please contact the author with
details of your problem and your hardware and software configurations.
Copies of your AUTOEXEC.BAT and CONFIG.SYS files may also help. Doing this
will ensure that a similar problem won't appear in future releases of
ALARM.
AlarmTSR makes use of the Alternate Multiplex interrupt for communication
(See Chapter 6.2). Since this is also sometimes used by other programs, is
it possible that two programs could have the same ID byte, which is what is
used to identify individual programs. If this problem does occur, the
symptoms will most probably be one of the TSRs not working correctly (the
one which loaded earlier would most likely become faulty). Unfortunately,
there is no way to correct this problem. The next release of ALARM is
likely to have the ability to change its ID byte to cope with this
situation.
________________________________________________________________________________
[5] ALARM ▄
▀▀▀▀▀▀▀▀▀▀▀
Alarm is the alarm editor, which is used to set, change and delete alarms
as required. It is run interactively from the command line without options,
although there are some options available for tasks that don't require the
full editor. These options are discussed in Chapter 5.1.
Alarm creates and maintains the alarm data file, if one does not already
exist in the program directory, and stores all the information about the
alarms you have set in it. This file is used by both Alarm for its own
purposes, and by AlarmTSR. Alarm also creates and maintains the
configuration files ALARM.CFG and ALARMTSR.CFG when you make changes to the
program's default settings.
At the time of release of this update, it was not possible to recompile the
main program. For this reason, the main display will still reflect Version
1.0 of the software even though it should be Version 1.02. This does not
affect the functionality of the program in any way.
[5.1] COMMAND LINE OPTIONS
~~~~~~~~~~~~~~~~~~~~
The command syntax for Alarm is:
ALARM [[/ | -]option]
Options may be preceded by a slash (DOS convention) or a dash (UNIX
convention) although it is not necessary. The options are of the nature
that no two can be used together on the command line.
The following options are available:
D - Disable the current alarm.
This option clears the current alarm from AlarmTSR's memory, so that it
will not be sounded. Since AlarmTSR only reads the next alarm when the
current alarm is sounded, no further alarms will be sounded until
AlarmTSR is specifically instructed to re-read the alarm data file
(which is done when you exit Alarm or by running Alarm with the 'R'
option). The status display will also indicate that no further alarms
have been set.
This option is provided in case you use a program which should not
be interrupted by an alarm. You could, in this case, create a batch
file which disables alarms, runs your program, then re-enables alarms
when you exit your program. Remember that the Ctrl-T hotkey will still
be active, so if this is likely to cause problems you should avoid
pressing it.
In the process of re-enabling alarms (with the 'R' option), the current
alarm is also updated. This means that any alarms which would have
sounded while you were running your program will be missed. You should
be aware of this and take appropriate action.
M - Force monochrome colours for the editor
This option forces the editor to start run with the default monochrome
colour set, in case you are using a monochrome monitor. You will still
be able to make changes to the colours using Alarm's configuration menu
but remember that if you save your configuration, the colours currently
in use will be saved and used every time in future.
If you start in monochrome mode, then save your configuration, the
colours will always be monochrome whenever you use the editor from then
on.
You can restore the default colours by deleting the configuration file
ALARM.CFG in the program directory.
R - Force AlarmTSR to re-read the alarm data file
This option forces AlarmTSR to update itself by re-reading the alarm
data file. This function is automatically invoked when you exit Alarm.
The main use of this function is to re-enable alarms after they have
been disabled using the 'D' option.
U - Update alarm data file
This function has the same effect as pressing Alt-U while inside the
editor. It updates the alarm data file by removing all alarms which
have already passed. This can be useful since old alarms can slow down
operation of AlarmTSR if not removed.
You could make changes to your AUTOEXEC.BAT file so that this option is
selected every time your computer is started or rebooted (see Chapter
3.2), but remember that it is more efficient to do this BEFORE you load
AlarmTSR, although this is not critical.
UNINSTALL - Uninstall AlarmTSR
This option requests AlarmTSR to uninstall itself. If possible,
AlarmTSR will remove itself from memory. If not, you will be warned.
Uninstallation of a memory resident program is not always possible
if other memory resident programs have been loaded after it, because
of the way in which these programs work.
Note that you only need to specify as far as "UN" on the command line
for uninstallation to be attempted, so you should be careful not to
accidentally add an 'N' when using the 'U' (Update) command, otherwise
AlarmTSR could be removed unintentionally. Of course, you could always
reinstall AlarmTSR without any ill effects.
[5.2] FEATURES AND FUNCTIONS
~~~~~~~~~~~~~~~~~~~~~~
When used in interactive mode (without command line parameters), the main
display screen will appear, listing all the alarm which you have already
set. From here, you can move around the alarm list and make additions,
changes and deletions as you wish.
The two main features of Alarm, apart from its obvious editing features,
are the automatic alarm updating and the configuration menu features. Alarm
can be set to update the alarm data file automatically (by deleting all
alarms which have already passed) every time it is run interactively, with
or without prompting.
The update feature (Alt-U) in itself is useful since it saves you from
having to delete your old alarms manually.
The configuration menus (Alt-C) are used to customise the operation of
both Alarm and AlarmTSR.
Remember that at all times, online help is available by pressing F1. This
is often useful for explaining what you are about to do, and in some cases
is even mentions shortcuts for certain tasks, which are otherwise
undocumented.
[5.3] USING THE EDITOR
~~~~~~~~~~~~~~~~
Using the editor itself is quite straightforward and self-explanatory.
The best way to figure out how to use the editor is simply to get into it
and try things out. For the first few days you should look at the online
help (F1) every time you come across something new, since this will give
you a much better understanding of the program's operation than any offline
documentation is likely to give.
[5.4] CONFIGURATION
~~~~~~~~~~~~~
The configuration menus in the editor (Alt-C) are used to customise the
program's options and operation. You can adjust colours, display formats
and various other parameters from these menus.
AlarmTSR is also configured from these menus, in a submenu called "TSR
options...". Note that while this is a sub-menu of the configuration menu,
the AlarmTSR configuration options are treated separately by the program,
and are even saved to separate configuration files.
It is important to remember that AlarmTSR only reads its configuration file
when it is installed. This means that if you make any changes to AlarmTSR's
configuration, you must uninstall and then reinstall it before the new
configuration will become effective. If uninstallation is not possible then
you will have to reboot your computer.
________________________________________________________________________________
[6] TECHNICAL INFORMATION ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This section contains various information about the operation of ALARM. It
is provided mainly for the sake of general interest, although it may be
used for the development of third party products under certain conditions.
See Chapter 6.1 for details.
NB! While backward compatibility is usually an issue for software
development, the author does not guarantee that any of the information
given here is entirely correct, neither does he undertake to maintain
these formats in future releases of ALARM.
Because it is documented here does not mean it will stay this way!
[6.1] THIRD PARTY SOFTWARE
~~~~~~~~~~~~~~~~~~~~
Third party software is considered to be software intended for use with
ALARM, but written by some person other than the original author of ALARM.
The development and distribution of third party software for ALARM is
perfectly acceptable, subject to the following conditions:
1. The third party software is distributed as Freeware, ie: No charge is
made for its distribution and use, except to cover media and copying
costs.
2. The author of Alarm and its associated programs and files is
acknowledged and mentioned in the documentation and/or program.
3. The author of Alarm is notified of the distribution of the third party
software package, and is given a copy thereof, free of charge. This need
not include the source, but should include the entire distribution
package including all documentation. A copy of the source would be
appreciated nonetheless.
[6.2] COMMUNICATING WITH ALARMTSR
~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is possible for external programs (such as Alarm) to communicate with
AlarmTSR via the Int 2D Alternate Multiplex Interrupt. AlarmTSR's ID byte
is fixed at D4h. To use any of the functions, load AH with the ID byte
(D4h) and AL with the function number.
The following functions are available:
FUNCTION 0 : Installation Check
Input: AX = D400
Return: AL = DD
AH = 00h if complete TSR is installed
80h if the tiny TSR is installed (clock only)
DH = Major version number
DL = Minor version number
Note: AlarmTSR v1.02 will report its version number as 1.0 for
compatibility with the old ALARM.EXE program.
FUNCTION 1 : Uninstall TSR
Input: AX = D401
Return: AL = 00 if ok
FF if unable to uninstall
FUNCTION 2 : Read Alarm Data File
Input: AX = D402
Return: AL = 0 if successful, and there is are no more alarms
1 if successful, and a new alarm was installed
2 if an error occurred
This function forces the TSR to re-read the alarm data file and
update the next alarm. This is intended to be called by the control
program when it has made changes.
FUNCTION 3 : Disable Current Alarm
Input: AX = D403
Return: none
This function disables the current alarm if one has been set in the
TSR. Function 2 (Read Alarm Data File) may be used to reverse this
function.
[6.3] THE ALARM DATA FILE : ALARM.ALM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This file contains all the information about the alarms you have set, and
is used by Alarm to store the entire database, and by AlarmTSR to read the
data for the next alarm to be sounded. Bearing in mind that this is subject
to change in future releases of ALARM, the file format is as follows:
File offset
│
└── 0 1 86 87 172
┌───┬─────//─────┬─────//─────┬─────//─────┬─
│ │ Record 1 │ Record 2 │ Record 3 │ etc...
└───┴─────//─────┴─────//─────┴─────//─────┴─
│ └─────── (86 bytes) One record
└─────────────── (1 byte) Number of records in file
Each record is as follows:
Record offset
│
└── 0 1 2 3 4 5 6 85
┬───┬───┬───┬───┬───┬───┬─────//─────┬
│ │ │ │ │ │ │ │
┴───┴───┴───┴───┴───┴───┴─────//─────┴
│ │ │ │ │ │ └──────── (80 bytes) Alarm message *
│ │ │ │ │ └──────────────── (1 byte) Minute
│ │ │ │ └──────────────────── (1 byte) Hour
│ │ │ └──────────────────────── (1 byte) Year
│ │ └──────────────────────────── (1 byte) Century
│ └──────────────────────────────── (1 byte) Month
└──────────────────────────────────── (1 byte) Day of month
* Only 48 characters are actually used in the alarm message. The full 80
are permissible, but the "(Press Ctrl-Enter)" message will be
overwritten if this is done.
[6.4] ALARM CONFIGURATION FILE : ALARM.CFG
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This configuration file contains information about the settings for Alarm,
the alarm editor. Bearing in mind that this is subject to change in future
releases of ALARM, the file format is as follows:
Offset Default Description
0 71h Colour of title bar
1 71h Colour of keybar descriptions
2 74h Colour of keybar keys
3 70h Colour of clock
4 1Fh Colour of table lines
5 17h Colour of normal text on table
6 71h Colour of highlighted text on table
7 31h Colour of edit window
8 13h Colour of highlight in edit window
9 6Eh Colour of delete and update windows
10 7Fh Colour of configuration windows
11 3Fh Colour of highlights in configuration windows
12 71h Colour of exit window
13 5Fh Colour of information windows
14 20h Colour of help windows
15 4Eh Colour of error windows
16 00h Time format (0=12-hour, 1=24-hour)
17 00h Auto-update mode (0=Off, 1=Prompt, 2=On)
[6.5] ALARMTSR CONFIGURATION FILE : ALARMTSR.CFG
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This configuration file contains information about the settings for
AlarmTSR, the memory resident module. Remember that this file is only read
when AlarmTSR is installed, so if you make any changes to it, you need to
uninstall and then reinstall AlarmTSR for them to become effective. Bearing
in mind that this is subject to change in future releases of ALARM, the
file format is as follows:
Offset Default Description
0 14h Hotkey make code
1 94h Hotkey break code
2 04h Hotkey shift mask
3 1Ch Clear alarm key make code
4 04h Clear alarm key shift mask
5 70h Popup colour
6 4Fh Clock colour
7 00h Time format (0=12-hour, 1=24-hour)
8 00h Date format (0=DD/MM/YY, 1=MM/DD/YY)
9-23 "Ctrl-Enter" Clear key description (15 bytes)
________________________________________________________________________________
[7] PROGRAM LIMITATIONS ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
For memory allocation purposes, only up to 100 alarms can be handled by
Alarm. After this limit, you will not be permitted to add any more. The 100
alarm limit is arbitrarily set, and it is possible to increase this number
if required. To do so, you will need to contact the author for a customised
version of ALARM. AlarmTSR itself can work with any number of alarms and is
not limited to 100, but you should realise that more alarms in the database
may cause AlarmTSR to operate slower than normal.
The other major limitation, which should be addressed in a future release
of ALARM, is that AlarmTSR will only function correctly while your computer
is in text mode (mono or colour 80-columns). Before attempting to display
the clock/status or any alarm messages, AlarmTSR checks the video mode. If
it is found to be anything other than one of the normal text modes, the
display will not be permitted. In the case of alarms and error messages,
the beep will still be sounded with no accompanying message; in the case of
the popup clock/status, a warning beep will be sounded in place of the
clock. The inspiration for ALARM came from a similar Windows-based program.
Since the author is not a very happy Windows user, a text mode equivalent
would have been more appropriate, hence ALARM was conceived. If you are a
frequent graphics user, then ALARM is unfortunately not very suited for
you.
Note that AlarmTSR will work in a DOS text window in Windows, in both
fullscreen and windowed modes. So you can still use Alarm in Windows, as
long as you have a DOS window open somewhere (and running in background
mode if necessary). Be warned, however, that I have had trouble with the
popup clock/status not disappearing from a DOS window when the hotkey is
released. I haven't been able to find the cause of this apparently random
problem yet, but it only occurs in a windowed DOS window, not when you are
in full screen mode.
________________________________________________________________________________
[8] SYSTEM REQUIREMENTS ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The following are considered the minimum requirements to successfully run
ALARM:
■ 80286 microprocessor minimum.
■ 3k memory to load the TSR (when resident, uses 2.8k in normal mode or
1.7k in Tiny mode).
■ At least 128k memory for Alarm.
■ About 110k on your disk (to store the entire distribution package
uncompressed - less if you only keep the essential files).
■ Text video mode (hopefully autodetects monochrome or colour mode)
■ MS-DOS 3.1 or greater (actually, it has only been tested under DOS 5, but
there's no reason for not working under v3.1 and later).
ALARM has been subjected to work testing on the following system, with
favourable results:
386DX-40
512k VGA
Quite a bit of DOS memory
A whole bunch of hard drive space
MS-DOS 5
________________________________________________________________________________
[9] ACKNOWLEDGEMENTS ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Well, not all of the code in this project is my own work. My special thanks
go to the following:
■ Owens Consulting and Jeff Owens:
ALIB v1.0, Copyright (c) 1994 by Owens Consulting and Jeff Owens
(Time and date calculation routines for AlarmTSR)
■ Carl Schei:
(For various little code bits, especially with regards to beeping the PC
speaker in AlarmTSR)
Obviously, my copyright cannot cover their work, since they already own
their respective copyrights.
________________________________________________________________________________
[10] CONTACTING THE AUTHOR ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
If you like this package and have any comments to share, please send me a
postcard. Postcards do wonders for my ego, and they're a nice, inexpensive
way of acknowledging the work I've put into developing this FREE software.
And if you include an Email address then I'll be able to keep you informed
about new releases of ALARM.
Snailmail: Dale Nurden
14 Willow Crescent
Pinetown
3610
South Africa
Internet: dalen@goofy.iaccess.za (My apologies to anyone who may have
tried to contact me at my old email
address, which is obviously no longer
in existence.)
BBS: Connectix BBS, UserID: Tech
(+2731) international, (031) national
2669992-7 (6 lines, 14400-N81)
________________________________________________________________________________